求该方法的渐近时间复杂度为____.(注意填写答案时不要有空格,用x^y的方式表达x的y次方)void aFunc(int n) { for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { printf(“Hello World”); } }} 答案: O(n^2) 分析:当 i = 0 时,内循环执行 n 次运算,当 i = 1 时,内循环执行 n – 1 次运算……当 i = n – 1 时,内循环执行 1 次运算。 所以,执行次数 T(n) = n + (n – 1) + (n – 2)……+ 1 = n(n + 1) / 2 = n^2 / 2 + n / 2。 根据上文说的 大O推导法 可以知道,此时时间复杂度为 O(n^2)。



登录
订单
帮助
主页